package de.tabuma.soap.entity.xsd;

import java.util.*;
import java.io.*;
import javax.jdo.annotations.*;

import de.tabuma.soap.annotation.*;

/**
 * This class represents an element of an wsdl document called &quot;element&quot;.
 * @author $Author: alefen $
 * @version $Revision: 1.1 $
 * @since $Date: 2009/12/30 02:57:12 $
 */
@PersistenceCapable(identityType = IdentityType.APPLICATION)
@SoapClassDefinition(@SoapClassMapping(mappingString="element",mappingType=SoapClassMapping.MappingType.XSD))
public class XsElement implements Serializable {

    public XsElement() {
        
        this.xsAnnotationId = new Long(0);
        this.xsComplexTypeOrXsSimpleType = new ArrayList<Long>();
        this.xsUniqueOrXsKeyOrXsKeyref = new ArrayList<Long>();
    }

    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long id1;
    public Long getId1() {
        return id1;
    }

    @Persistent
    @SoapAttribute
    protected String name;
    public String getName() {
        return name;
    }
    public void setName(String value) {
        this.name = value;
    }

    @Persistent
    @SoapAttribute
    protected String id;
    public String getId() {
        return id;
    }
    public void setId(String value) {
        this.id = value;
    }

    @Persistent
    @SoapAttribute
    protected String ref;
    public String getRef() {
        return ref;
    }
    public void setRef(String value) {
        this.ref = value;
    }

    @Persistent
    @SoapAttribute
    protected String type;
    public String getType() {
        return type;
    }
    public void setType(String value) {
        this.type = value;
    }

    @Persistent
    @SoapAttribute
    protected String minOccurs;
    public String getMinOccurs() {
        return minOccurs;
    }
    public void setMinOccurs(String value) {
        this.minOccurs = value;
    }

    @Persistent
    @SoapAttribute
    protected String maxOccurs;
    public String getMaxOccurs() {
        return maxOccurs;
    }
    public void setMaxOccurs(String value) {
        this.maxOccurs = value;
    }

    @Persistent
    @SoapAttribute
    protected String nillable;
    public String getNillable() {
        return nillable;
    }
    public void setNillable(String value) {
        this.nillable = value;
    }

    @Persistent
    @SoapAttribute
    protected String substitutionGroup;
    public String getSubstitutionGroup() {
        return substitutionGroup;
    }
    public void setSubstitutionGroup(String value) {
        this.substitutionGroup = value;
    }

    @Persistent
    @SoapAttribute(fieldName="abstract")
    protected String _abstract;
    public String getAbstract() {
        return _abstract;
    }
    public void setAbstract(String value) {
        this._abstract = value;
    }

    @Persistent
    @SoapAttribute(fieldName="final")
    protected String _final;
    public String getFinal() {
        return _final;
    }
    public void setFinal(String value) {
        this._final = value;
    }

    @Persistent
    @SoapAttribute
    protected String block;
    public String getBlock() {
        return block;
    }
    public void setBlock(String value) {
        this.block = value;
    }

    @Persistent
    @SoapAttribute(fieldName="default")
    protected String _default;
    public String getDefault() {
        return _default;
    }
    public void setDefault(String value) {
        this._default = value;
    }

    @Persistent
    @SoapAttribute
    protected String fixed;
    public String getFixed() {
        return fixed;
    }
    public void setFixed(String value) {
        this.fixed = value;
    }

    @Persistent
    @SoapAttribute
    protected String form;
    public String getForm() {
        return form;
    }
    public void setForm(String value) {
        this.form = value;
    }

    @Persistent
    @SoapFieldDefinition(@SoapFieldClass(classDefinition=XsAnnotation.class))
    protected Long xsAnnotationId;
    public Long getXsAnnotationId() {
        return xsAnnotationId;
    }
    public void setXsAnnotationId(Long xsAnnotationId) {
        this.xsAnnotationId = xsAnnotationId;
    }

    @Persistent
    @SoapFieldDefinition(
        {
            @SoapFieldClass(classDefinition=XsComplexType.class),
            @SoapFieldClass(classDefinition=XsSimpleType.class)
        }
    )
    protected List<Long> xsComplexTypeOrXsSimpleType;
    public List<Long> getXsComplexTypeOrXsSimpleType() {
        return this.xsComplexTypeOrXsSimpleType;
    }
    public void setXsComplexTypeOrXsSimpleType(List<Long> xsComplexTypeOrXsSimpleType) {
        this.xsComplexTypeOrXsSimpleType = xsComplexTypeOrXsSimpleType;
    }

    @Persistent
    @SoapFieldDefinition(
        {
            @SoapFieldClass(classDefinition=XsUnique.class),
            @SoapFieldClass(classDefinition=XsKey.class),
            @SoapFieldClass(classDefinition=XsKeyRef.class)
        }
    )
    protected List<Long> xsUniqueOrXsKeyOrXsKeyref;
    public List<Long> getXsUniqueOrXsKeyOrXsKeyref() {
        return this.xsUniqueOrXsKeyOrXsKeyref;
    }
    public void setXsUniqueOrXsKeyOrXsKeyref(List<Long> xsUniqueOrXsKeyOrXsKeyref) {
        this.xsUniqueOrXsKeyOrXsKeyref = xsUniqueOrXsKeyOrXsKeyref;
    }
}
